home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / info / ispell < prev   
Encoding:
GNU Info File  |  1995-07-03  |  12.7 KB  |  380 lines

  1. This is Info file ispell.info, produced by Makeinfo-1.55 from the input
  2. file ispell.texinfo.
  3.  
  4.    This file documents ISPELL, an interactive spelling corrector.
  5.  
  6.    Copyright 1988, 1990, 1991, 1992, 1993  Free Software Foundation,
  7. Inc.
  8.  
  9.    Permission is granted to make and distribute verbatim copies of this
  10. manual provided the copyright notice and this permission notice are
  11. preserved on all copies.
  12.  
  13.    Permission is granted to copy and distribute modified versions of
  14. this manual under the conditions for verbatim copying, provided that
  15. the entire resulting derived work is distributed under the terms of a
  16. permission notice identical to this one.
  17.  
  18.    Permission is granted to copy and distribute translations of this
  19. manual into another language, under the above conditions for modified
  20. versions, except that this permission notice may be stated in a
  21. translation approved by the Foundation.
  22.  
  23. * Menu:
  24.  
  25. * Emacs::            Using ispell from emacs
  26. * Old Emacs::            Old Emacs
  27. * Private::            Your private dictionary
  28. * Command summary::        All commands in emacs mode
  29. * Near misses::            Definition of a near miss
  30. * History::            Where it came from
  31.  
  32.  -- The Detailed Node Listing --
  33.  
  34. Using ispell from emacs
  35.  
  36. * Word::            Checking a single word
  37. * Buffer::            Checking a whole buffer
  38. * Region::            Checking a region
  39. * Multiple Dictionaries::    Using Multiple Dictionaries
  40.  
  41. 
  42. File: ispell.info,  Node: Top,  Next: Emacs,  Prev: (dir),  Up: (dir)
  43.  
  44.    `Ispell' is a program that helps you to correct spelling errors in a
  45. file, and to find the correct spelling of words.  When presented with a
  46. word that is not in the dictionary, `ispell' attempts to find "near
  47. misses" that might include the word you meant.
  48.  
  49.    This manual describes how to use ispell, as well as a little about
  50. its implementation.
  51.  
  52. * Menu:
  53.  
  54. * Emacs::            Using ispell from emacs
  55. * Old Emacs::            Old Emacs
  56. * Private::            Your private dictionary
  57. * Command summary::        All commands in emacs mode
  58. * Near misses::            Definition of a near miss
  59. * History::            Where it came from
  60.  
  61. 
  62. File: ispell.info,  Node: Emacs,  Next: Old Emacs,  Prev: Top,  Up: Top
  63.  
  64. Using ispell from emacs
  65. =======================
  66.  
  67. * Menu:
  68.  
  69. * Word::            Checking a single word
  70. * Buffer::            Checking a whole buffer
  71. * Region::            Checking a region
  72. * Multiple Dictionaries::    Using Multiple Dictionaries
  73.  
  74. 
  75. File: ispell.info,  Node: Word,  Next: Buffer,  Prev: Emacs,  Up: Emacs
  76.  
  77. Checking a single word
  78. ----------------------
  79.  
  80.    The simplest emacs command for calling ispell is 'M-$' (meta-dollar.
  81. On some terminals, you must type ESC-$.) This checks the spelling of
  82. the word under the cursor.  If the word is found in the dictionary,
  83. then a message is printed in the echo area.  Otherwise, ISPELL attempts
  84. to generate near misses.
  85.  
  86.    If any near misses are found, they are displayed in a separate
  87. window, each preceded by a digit or character.  If one of these is the
  88. word you wanted, just type its digit or character, and it will replace
  89. the original word in your buffer.
  90.  
  91.    If no near miss is right, or if none are displayed, you have five
  92. choices:
  93.  
  94. `I'
  95.      Insert the word in your private dictionary.  Use this if you know
  96.      that the word is spelled correctly.
  97.  
  98. `A'
  99.      Accept the word for the duration of this editing session, but do
  100.      not put it in your private dictionary.  Use this if you are not
  101.      sure about the spelling of the word, but you do not want to look
  102.      it up immediately, or for terms that appear in your document but
  103.      are not truly words.  The next time you start ispell, it will have
  104.      forgotten any accepted words.
  105.  
  106. `SPC'
  107.      Leave the word alone, and consider it misspelled if it is checked
  108.      again.
  109.  
  110. `R'
  111.      Replace the word.  This command prompts you for a string in the
  112.      minibuffer.  You may type more than one word, and each word you
  113.      type is checked again, possibly finding other near misses.  This
  114.      command provides a handy way to close in on a word that you have
  115.      no idea how to spell.  You can keep trying different spellings
  116.      until you find one that is close enough to get a near miss.
  117.  
  118. `L'
  119.      Lookup.  Display words from the dictionary that contain a
  120.      specified substring.  The substring is a regular expression, which
  121.      means it can contain special characters to be more selective about
  122.      which words get displayed.  *Note Regexps: (emacs)Regexps.
  123.  
  124.      If the only special character in the regular expression is a
  125.      leading `^', then a very fast binary search will be used, instead
  126.      of scanning the whole file.
  127.  
  128.      Only a few matching words can be displayed in the ISPELL window.
  129.      If you want to see more, use the `look' program directly from the
  130.      shell.
  131.  
  132.    Of course, you can also type G' to stop the command without
  133. changing anything.
  134.  
  135.    If you make a change that you don't like, just use emacs' normal undo
  136. feature *Note undo: (emacs)undo.
  137.  
  138. 
  139. File: ispell.info,  Node: Buffer,  Next: Region,  Prev: Word,  Up: Emacs
  140.  
  141. Checking a whole buffer
  142. -----------------------
  143.  
  144.    If you want to check the spelling of all the words in a buffer, type
  145. the command `M-x ispell-buffer'.  This command scans the file, and makes
  146. a list of all the misspelled words.  When it is done, it moves the
  147. cursor to the first word on the list, and acts like you just typed M-$
  148. *Note Word::.
  149.  
  150.    When you finish with one word, the cursor is automatically moved to
  151. the next.  If you want to stop in the middle of the list type `X' or
  152. G'.
  153.  
  154. 
  155. File: ispell.info,  Node: Region,  Next: Multiple Dictionaries,  Prev: Buffer,  Up: Emacs
  156.  
  157. Checking a region
  158. -----------------
  159.  
  160.    You may check the words in the region with the command `M-x
  161. ispell-region'.  See *Note mark: (emacs)mark.
  162.  
  163.    The commands available are the same as for checking a whole buffer.
  164.  
  165. 
  166. File: ispell.info,  Node: Multiple Dictionaries,  Prev: Region,  Up: Emacs
  167.  
  168. Using Multiple Dictionaries
  169. ---------------------------
  170.  
  171.    Your site may have multiple dictionaries installed: a default one
  172. (usually `english.hash'), and several others for different languages
  173. (e.g. `deutsch.hash') or variations on a language (such as British
  174. spelling for English).
  175.  
  176. `ispell-change-dictionary'
  177.      This is the command to change the dictionary.  It prompts for a new
  178.      dictionary name, with completion on the elements of
  179.      `ispell-dictionary'.
  180.  
  181.      It changes `ispell-dictionary' and kills the old ispell process, if
  182.      one was running.  A new one will be started as soon as necessary.
  183.  
  184.      By just answering `RET' you can find out what the current
  185.      dictionary is.
  186.  
  187. `ispell-dictionary'
  188.      If non-nil, a dictionary to use instead of the default one.  This
  189.      is passed to the ispell process using the `-d' switch and is used
  190.      as key in `ispell-dictionary-alist'.
  191.  
  192.      You should set this variable before your first call to ispell
  193.      (e.g. in your `.emacs'), or use the `M-x ispell-change-dictionary'
  194.      command to change it, as changing this variable only takes effect
  195.      in a newly started ispell process.
  196.  
  197. `ispell-dictionary-alist'
  198.      An alist of dictionaries and their associated parameters.
  199.  
  200.      Each element of this list is also a list:
  201.  
  202.           (DICTIONARY-NAME
  203.               CASECHARS NOT-CASECHARS OTHERCHARS MANY-OTHERCHARS-P
  204.               ISPELL-ARGS)
  205.  
  206.      DICTIONARY-NAME is a possible value of variable
  207.      `ispell-dictionary', `nil' means the default dictionary.
  208.  
  209.      CASECHARS is a regular expression of valid characters that
  210.      comprise a word.
  211.  
  212.      NOT-CASECHARS is the opposite regexp of CASECHARS.
  213.  
  214.      OTHERCHARS is a regular expression of other characters that are
  215.      valid in word constructs.  Otherchars cannot be adjacent to each
  216.      other in a word, nor can they begin or end a word.  This implies
  217.      we can't check `Stevens'' as a correct possessive and other correct
  218.      formations.
  219.  
  220.      Hint: regexp syntax requires the hyphen to be declared first here.
  221.  
  222.      MANY-OTHERCHARS-P is non-nil if many otherchars are to be allowed
  223.      in a word instead of only one.
  224.  
  225.      ISPELL-ARGS is a list of additional arguments passed to the ispell
  226.      subprocess.
  227.  
  228.      Note that the CASECHARS and OTHERCHARS slots of the alist should
  229.      contain the same character set as casechars and otherchars in the
  230.      LANGUAGE`.aff' file (e.g., `english.aff').
  231.  
  232. 
  233. File: ispell.info,  Node: Old Emacs,  Next: Private,  Prev: Emacs,  Up: Top
  234.  
  235. Old Emacs
  236. =========
  237.  
  238.    Until ispell becomes part of the standard emacs distribution, you
  239. will have to explicitly request that it be loaded.  Put the following
  240. lines in your emacs init file *Note init file: (emacs)init file.
  241.  
  242.      (autoload 'ispell-word "ispell" "Check the spelling of word in buffer." t)
  243.      (autoload 'ispell-region "ispell" "Check the spelling of region." t)
  244.      (autoload 'ispell-buffer "ispell" "Check the spelling of buffer." t)
  245.      (global-set-key "\e$" 'ispell-word)
  246.  
  247.    (It will do no harm to have these lines in your init file even after
  248. ispell is installed by default.)
  249.  
  250. 
  251. File: ispell.info,  Node: Private,  Next: Command summary,  Prev: Old Emacs,  Up: Top
  252.  
  253. Your private dictionary
  254. =======================
  255.  
  256.    Whenever ispell is started the file `.ispell_words' is read from
  257. your home directory (if it exists).  This file contains a list of words,
  258. one per line.  The order of the words is not important, but the case is.
  259. Ispell will consider all of the words good, and will use them as
  260. possible near misses.
  261.  
  262.    The `I' command adds words to `.ispell_words', so normally you don't
  263. have to worry about the file.  You may want to check it from time to
  264. time to make sure you have not accidentally inserted a misspelled word.
  265.  
  266. 
  267. File: ispell.info,  Node: Command summary,  Next: Near misses,  Prev: Private,  Up: Top
  268.  
  269. All commands in emacs mode
  270. ==========================
  271.  
  272. `DIGIT'
  273.      Select a near miss
  274.  
  275. `I'
  276.      Insert into private dictionary
  277.  
  278. `A'
  279.      Accept for this session
  280.  
  281. `SPC'
  282.      Skip this time
  283.  
  284. `R'
  285.      Replace with one or more words
  286.  
  287. `L'
  288.      Lookup: search the dictionary using a regular expression
  289.  
  290. `M-$'
  291.      Check word
  292.  
  293. `M-x ispell-buffer'
  294.      Check buffer
  295.  
  296. `M-x ispell-region'
  297.      Check region
  298.  
  299. `M-x ispell-change-dictionary'
  300.      Select different dictionary.
  301.  
  302. 
  303. File: ispell.info,  Node: Near misses,  Next: History,  Prev: Command summary,  Up: Top
  304.  
  305. Definition of a near miss
  306. =========================
  307.  
  308.    Two words are near each other if they can be made identical with one
  309. of the following changes to one of the words:
  310.  
  311.      Insert a blank space
  312.      Interchange two adjacent letters.
  313.      Change one letter.
  314.      Delete one letter.
  315.      Add one letter.
  316.  
  317.    Someday, perhaps ispell will be extended so that words that sound
  318. alike would also be considered near misses.  If you would like to
  319. implement this, see Knuth, Volume 3, page 392 for a description of the
  320. Soundex algorithm which might apply.
  321.  
  322. 
  323. File: ispell.info,  Node: History,  Prev: Near misses,  Up: Top
  324.  
  325. Where it came from
  326. ==================
  327.  
  328.    Ispell has a long and convoluted history.  Originally called SPELL,
  329. it was written by Ralph E. Gorin in 1971.  That version was written in
  330. assembly language for the DEC PDP-10 to run under the WAITS operating
  331. system at the Stanford Artificial Intelligence Laboratory.  Subsequent
  332. versions, also in PDP-10 assembly language, were developed for the BBN
  333. TENEX, MIT ITS, and DEC TOPS-10 and TOPS-20 operating systems.  It was
  334. later revised by W. E. Matson (1974), and W. B. Ackerman (1978),
  335. changing its name to ISPELL in the process.
  336.  
  337.    In 1983, Pace Willisson (pace@ai.mit.edu) converted this version to
  338. the C language and modified it to work under Unix.
  339.  
  340.    In 1987, Walt Buehring revised and enhanced ispell, and posted it to
  341. the Usenet along with a dictionary.  In addition, Walt wrote the first
  342. version of "ispell.el", the emacs interface.
  343.  
  344.    Geoff Kuenning (geoff@ITcorp.com, that's me, and by the way I
  345. pronounce it "Kenning") picked up this version, fixed many bugs, and
  346. added further enhancements.  In 1988 I got ambitious and rewrote major
  347. portions of the code, resulting in the table-driven multi-lingual
  348. version.  Ken Stevens (stevens@hplabs.hp.com) made overwhelming
  349. contributions to the elisp support to produce the version you are using
  350. now.
  351.  
  352.    Due to a misunderstanding involving the Free Software Foundation, it
  353. later became necessary to rename this version to ispell to avoid
  354. confusion on the part of users.
  355.  
  356.    Many other enhancements and bug fixes were provided by other people.
  357. Although I omit mention here due to space, many of these people have
  358. also made significant contributions to the version of ispell you see
  359. here.  For a full list of people who have contributed to ispell, refer
  360. to the file `Contributors' which is distributed with the ispell sources.
  361.  
  362. Geoff Kuenning
  363. geoff@ITcorp.com
  364.  
  365. 
  366. Tag Table:
  367. Node: Top1347
  368. Node: Emacs2006
  369. Node: Word2296
  370. Node: Buffer4853
  371. Node: Region5422
  372. Node: Multiple Dictionaries5734
  373. Node: Old Emacs8248
  374. Node: Private8929
  375. Node: Command summary9583
  376. Node: Near misses10139
  377. Node: History10781
  378. 
  379. End Tag Table
  380.